package com.jdd.modules.sdkidentifyresultpushlog.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jdd.common.util.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 停车订单详情管理
 * @Author: jdd
 * @Date: 2021-03-01
 * @Version: V1.0
 */
@Data
@TableName("park_order_info")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "park_order_info对象", description = "停车订单详情管理")
public class ParkOrderInfoVO {

    /**
     * id
     */
    @TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "id")
    private String id;
    /**
     * 车牌号
     */
    @Excel(name = "车牌号", width = 15)
    @ApiModelProperty(value = "车牌号")
    private String plateNo;
    /**
     * 设备序列号，设备唯一
     */
    @Excel(name = "设备序列号，设备唯一", width = 15)
    @ApiModelProperty(value = "设备序列号，设备唯一")
    private String serialNo;
    /**
     * 停车场名称
     */
    @Excel(name = "停车场名称", width = 15)
    @ApiModelProperty(value = "停车场名称")
    private String parkName;
    /**
     * 停车场编号
     */
    @Excel(name = "停车场编号", width = 15)
    @ApiModelProperty(value = "停车场编号")
    private String parkCode;
    /**
     * 停车场出口id
     */
    @Excel(name = "停车场出口id", width = 15)
    @ApiModelProperty(value = "停车场出口id")
    private Integer armCode;
    /**
     * 停车场出口名称
     */
    @Excel(name = "停车场出口名称", width = 15)
    @ApiModelProperty(value = "停车场出口名称")
    private String armName;
    /**
     * 设备ip地址
     */
    @Excel(name = "设备ip地址", width = 15)
    @ApiModelProperty(value = "设备ip地址")
    private String ipAddr;
    /**
     * 停车记录id
     */
    @Excel(name = "停车记录id", width = 15)
    @ApiModelProperty(value = "停车记录id")
    private String parkLogId;
    /**
     * 车辆入场ID
     */
    @Excel(name = "车辆入场ID", width = 15)
    @ApiModelProperty(value = "车辆入场ID")
    private String carEnterId;
    /**
     * 入场时间
     */
    @Excel(name = "入场时间", width = 15)
    @ApiModelProperty(value = "入场时间")
    private String enterTime;
    /**
     * 出场时间
     */
    @Excel(name = "出场时间", width = 15)
    @ApiModelProperty(value = "出场时间")
    private String outTime;
    /**
     * 总费用
     */
    @Excel(name = "总费用", width = 15)
    @ApiModelProperty(value = "总费用")
    private String chargeTotalFee;
    /**
     * 原停车费用； 单位分
     */
    @Excel(name = "原停车费用； 单位分", width = 15)
    @ApiModelProperty(value = "原停车费用； 单位分")
    private String chargeDue;
    /**
     * 当前的停车费用；单位分
     */
    @Excel(name = "当前的停车费用；单位分", width = 15)
    @ApiModelProperty(value = "当前的停车费用；单位分")
    private String chargeUnpaid;
    /**
     * 停车时长: 单位分
     */
    @Excel(name = "停车时长: 单位分", width = 15)
    @ApiModelProperty(value = "停车时长: 单位分")
    private Integer chargeDuration;
    /**
     * 预付费用
     */
    @Excel(name = "预付费用", width = 15)
    @ApiModelProperty(value = "预付费用")
    private String chargePrepaid;
    /**
     * 已支付费用
     */
    private String chargePaid;
    /**
     * 订单状态描述
     */
    @Excel(name = "订单状态描述", width = 15)
    @ApiModelProperty(value = "订单状态描述")
    private String orderStatusDesc;
    /**
     * 订单状态：1未支付，2支付成功，3支付失败
     */
    @Excel(name = "订单状态：1未支付，2支付成功，3支付失败", width = 15)
    @ApiModelProperty(value = "订单状态：1未支付，2支付成功，3支付失败")
    private String orderStatus;
    /**
     * 版本号
     */
    @Excel(name = "版本号", width = 15)
    @ApiModelProperty(value = "版本号")
    private Integer version;
    /**
     * 订单总金额，单位：分
     */
    @Excel(name = "订单总金额，单位：分", width = 15)
    @ApiModelProperty(value = "订单总金额，单位：分")
    private String totalAmt;
    /**
     * 入场图片地址
     */
    @Excel(name = "入场图片地址", width = 15)
    @ApiModelProperty(value = "入场图片地址")
    private String outImgPath;
    /**
     * oss入场图片地址
     */
    @Excel(name = "oss入场图片地址", width = 15)
    @ApiModelProperty(value = "oss入场图片地址")
    private String ossOutImgPath;
    /**
     * 车辆类型
     */
    @Excel(name = "车辆类型, width = 15")
    @ApiModelProperty(value = "车辆类型")
    private String type;
    /**
     * 车辆类型名称
     */
    @Excel(name = "车辆类型主键, width = 15")
    @ApiModelProperty(value = "车辆类型主键")
    private String carTypeId;
    /**
     * 支付完成时间，格式为： YYYYMMDDHHmmss
     */
    @Excel(name = "支付完成时间，格式为： YYYYMMDDHHmmss", width = 15)
    @ApiModelProperty(value = "支付完成时间，格式为： YYYYMMDDHHmmss")
    private String payTime;
    /**
     * 支付类型：1微信，2支付宝,3无感支付，4线下付款
     */
    @Excel(name = "支付类型：1微信，2支付宝,3无感支付，4线下付款", width = 15)
    @ApiModelProperty(value = "支付类型：1微信，2支付宝,3无感支付，4线下付款")
    private String payType;
    /**
     * 1为有牌车，2为无牌车,默认有牌车
     */
    @Excel(name = "1为有牌车，2为无牌车,默认有牌车", width = 15)
    @ApiModelProperty(value = "1为有牌车，2为无牌车,默认有牌车")
    private String carType;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 修改时间
     */
    @Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**
     * 岗亭人员账户
     */
    @Excel(name = "岗亭人员账户", width = 15)
    @ApiModelProperty(value = "岗亭人员账户")
    private String sysUserName;
    /**
     * 工作站字段
     */
    @Excel(name = "工作站字段", width = 15)
    @ApiModelProperty(value = "工作站字段")
    private String workName;
    /**
     * 订单总收益
     */
    @TableField(exist = false)
    private Double orderSum;
    /**
     * 备注
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 停车场入口名称
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "停车场入口名称")
    private String enterArmName;
    /**
     * 入场抓拍图片地址
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "入场抓拍图片地址")
    private String imgPath;
    /**
     * 入场云图片地址
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "入场云图片地址")
    private String ossImgPath;
    /**
     * 总优惠金额
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "总优惠金额")
    private Integer totalDiscAmt;
    /**
     * 秒数 停车时长
     */
    @TableField(exist = false)
    private Long secondsStopTime;

}
